# main.py
import sys
from PySide6.QtCore import Qt
from PySide6.QtGui import QAction, QIcon
from PySide6.QtWidgets import (QApplication, QMainWindow, QLabel)


class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        self.setWindowTitle("PySide6 MenuBar / ToolBar / StatusBar 示例")
        self.resize(400, 300)

        # ---------- 1. 菜单栏 ----------
        # QMainWindow 已经内置，self.menuBar() 直接拿
        file_menu = self.menuBar().addMenu("&File")

        quit_action = QAction("&Quit", self)
        quit_action.setShortcut("Ctrl+Q")
        quit_action.triggered.connect(QApplication.instance().quit)
        file_menu.addAction(quit_action)

        # ---------- 2. 工具栏 ----------
        # addToolBar 返回 QToolBar，已经自动 attach 到窗口
        toolbar = self.addToolBar("Main")
        toolbar.addAction(quit_action)          # 复用同一个 QAction
        toolbar.addSeparator()
        # 再加一个图标按钮（这里用系统主题图标，任何平台都自带）
        save_action = QAction(QIcon.fromTheme("document-save"), "Save", self)
        save_action.triggered.connect(lambda: self.statusBar().showMessage("Save clicked", 1000))
        toolbar.addAction(save_action)

        # ---------- 3. 状态栏 ----------
        # 同样内置，首次 self.statusBar() 会自动创建
        self.statusBar().showMessage("Ready", 2000)      # 2 秒后消失
        permanent_label = QLabel("UTF-8")
        permanent_label.setFrameStyle(QLabel.StyledPanel)
        self.statusBar().addPermanentWidget(permanent_label)  # 最右侧常驻


if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec())